﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace QueryGroupBuilder
{
   public class FlitePure
    {
       public List<string> Filte(List<string> source)
       {
           List<string> target = new List<string>();

           foreach (string item in source)
           {
               AddToTarget(item,target);
           }

           return target;
       }

       private void AddToTarget(string item, List<string> target)
       {
           if (IsNotPure(item))
           {
               target.Add(item);
           }
       }

       private bool IsNotPure(string item)
       {
           if (HasLetter(item) && HasNumber(item))
               return true;
           return false;
       }

       private bool HasNumber(string item)
       {
           foreach (string number in GetNumbers())
           {
               if (item.Contains(number))
               {
                   return true;
               }
           }

           return false;
       }

       private bool HasLetter(string item)
       {
           foreach (string letter in GetWords())
           {
               if (item.Contains(letter))
               {
                   return true;
               }
           }

           return false;
       }

       private List<string> GetNumbers()
       {
           return new List<string>() { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9" };

       }

       private List<string> GetWords()
       {

           return new List<string>() { "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z" };
       }
    }
}
